package com.briup.pts.entity;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class ManagerAnimalExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    private Integer limit;

    private Long offset;

    private Boolean forUpdate;

    public ManagerAnimalExample() {
        oredCriteria = new ArrayList<>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public void setLimit(Integer limit) {
        this.limit = limit;
    }

    public Integer getLimit() {
        return limit;
    }

    public void setOffset(Long offset) {
        this.offset = offset;
    }

    public Long getOffset() {
        return offset;
    }

    public void setForUpdate(Boolean forUpdate) {
        this.forUpdate = forUpdate;
    }

    public Boolean getForUpdate() {
        return forUpdate;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andAAnimalIdIsNull() {
            addCriterion("a_animal_id is null");
            return (Criteria) this;
        }

        public Criteria andAAnimalIdIsNotNull() {
            addCriterion("a_animal_id is not null");
            return (Criteria) this;
        }

        public Criteria andAAnimalIdEqualTo(String value) {
            addCriterion("a_animal_id =", value, "aAnimalId");
            return (Criteria) this;
        }

        public Criteria andAAnimalIdNotEqualTo(String value) {
            addCriterion("a_animal_id <>", value, "aAnimalId");
            return (Criteria) this;
        }

        public Criteria andAAnimalIdGreaterThan(String value) {
            addCriterion("a_animal_id >", value, "aAnimalId");
            return (Criteria) this;
        }

        public Criteria andAAnimalIdGreaterThanOrEqualTo(String value) {
            addCriterion("a_animal_id >=", value, "aAnimalId");
            return (Criteria) this;
        }

        public Criteria andAAnimalIdLessThan(String value) {
            addCriterion("a_animal_id <", value, "aAnimalId");
            return (Criteria) this;
        }

        public Criteria andAAnimalIdLessThanOrEqualTo(String value) {
            addCriterion("a_animal_id <=", value, "aAnimalId");
            return (Criteria) this;
        }

        public Criteria andAAnimalIdLike(String value) {
            addCriterion("a_animal_id like", value, "aAnimalId");
            return (Criteria) this;
        }

        public Criteria andAAnimalIdNotLike(String value) {
            addCriterion("a_animal_id not like", value, "aAnimalId");
            return (Criteria) this;
        }

        public Criteria andAAnimalIdIn(List<String> values) {
            addCriterion("a_animal_id in", values, "aAnimalId");
            return (Criteria) this;
        }

        public Criteria andAAnimalIdNotIn(List<String> values) {
            addCriterion("a_animal_id not in", values, "aAnimalId");
            return (Criteria) this;
        }

        public Criteria andAAnimalIdBetween(String value1, String value2) {
            addCriterion("a_animal_id between", value1, value2, "aAnimalId");
            return (Criteria) this;
        }

        public Criteria andAAnimalIdNotBetween(String value1, String value2) {
            addCriterion("a_animal_id not between", value1, value2, "aAnimalId");
            return (Criteria) this;
        }

        public Criteria andAWeightIsNull() {
            addCriterion("a_weight is null");
            return (Criteria) this;
        }

        public Criteria andAWeightIsNotNull() {
            addCriterion("a_weight is not null");
            return (Criteria) this;
        }

        public Criteria andAWeightEqualTo(String value) {
            addCriterion("a_weight =", value, "aWeight");
            return (Criteria) this;
        }

        public Criteria andAWeightNotEqualTo(String value) {
            addCriterion("a_weight <>", value, "aWeight");
            return (Criteria) this;
        }

        public Criteria andAWeightGreaterThan(String value) {
            addCriterion("a_weight >", value, "aWeight");
            return (Criteria) this;
        }

        public Criteria andAWeightGreaterThanOrEqualTo(String value) {
            addCriterion("a_weight >=", value, "aWeight");
            return (Criteria) this;
        }

        public Criteria andAWeightLessThan(String value) {
            addCriterion("a_weight <", value, "aWeight");
            return (Criteria) this;
        }

        public Criteria andAWeightLessThanOrEqualTo(String value) {
            addCriterion("a_weight <=", value, "aWeight");
            return (Criteria) this;
        }

        public Criteria andAWeightLike(String value) {
            addCriterion("a_weight like", value, "aWeight");
            return (Criteria) this;
        }

        public Criteria andAWeightNotLike(String value) {
            addCriterion("a_weight not like", value, "aWeight");
            return (Criteria) this;
        }

        public Criteria andAWeightIn(List<String> values) {
            addCriterion("a_weight in", values, "aWeight");
            return (Criteria) this;
        }

        public Criteria andAWeightNotIn(List<String> values) {
            addCriterion("a_weight not in", values, "aWeight");
            return (Criteria) this;
        }

        public Criteria andAWeightBetween(String value1, String value2) {
            addCriterion("a_weight between", value1, value2, "aWeight");
            return (Criteria) this;
        }

        public Criteria andAWeightNotBetween(String value1, String value2) {
            addCriterion("a_weight not between", value1, value2, "aWeight");
            return (Criteria) this;
        }

        public Criteria andAGenderIsNull() {
            addCriterion("a_gender is null");
            return (Criteria) this;
        }

        public Criteria andAGenderIsNotNull() {
            addCriterion("a_gender is not null");
            return (Criteria) this;
        }

        public Criteria andAGenderEqualTo(String value) {
            addCriterion("a_gender =", value, "aGender");
            return (Criteria) this;
        }

        public Criteria andAGenderNotEqualTo(String value) {
            addCriterion("a_gender <>", value, "aGender");
            return (Criteria) this;
        }

        public Criteria andAGenderGreaterThan(String value) {
            addCriterion("a_gender >", value, "aGender");
            return (Criteria) this;
        }

        public Criteria andAGenderGreaterThanOrEqualTo(String value) {
            addCriterion("a_gender >=", value, "aGender");
            return (Criteria) this;
        }

        public Criteria andAGenderLessThan(String value) {
            addCriterion("a_gender <", value, "aGender");
            return (Criteria) this;
        }

        public Criteria andAGenderLessThanOrEqualTo(String value) {
            addCriterion("a_gender <=", value, "aGender");
            return (Criteria) this;
        }

        public Criteria andAGenderLike(String value) {
            addCriterion("a_gender like", value, "aGender");
            return (Criteria) this;
        }

        public Criteria andAGenderNotLike(String value) {
            addCriterion("a_gender not like", value, "aGender");
            return (Criteria) this;
        }

        public Criteria andAGenderIn(List<String> values) {
            addCriterion("a_gender in", values, "aGender");
            return (Criteria) this;
        }

        public Criteria andAGenderNotIn(List<String> values) {
            addCriterion("a_gender not in", values, "aGender");
            return (Criteria) this;
        }

        public Criteria andAGenderBetween(String value1, String value2) {
            addCriterion("a_gender between", value1, value2, "aGender");
            return (Criteria) this;
        }

        public Criteria andAGenderNotBetween(String value1, String value2) {
            addCriterion("a_gender not between", value1, value2, "aGender");
            return (Criteria) this;
        }

        public Criteria andAHealthyIsNull() {
            addCriterion("a_healthy is null");
            return (Criteria) this;
        }

        public Criteria andAHealthyIsNotNull() {
            addCriterion("a_healthy is not null");
            return (Criteria) this;
        }

        public Criteria andAHealthyEqualTo(String value) {
            addCriterion("a_healthy =", value, "aHealthy");
            return (Criteria) this;
        }

        public Criteria andAHealthyNotEqualTo(String value) {
            addCriterion("a_healthy <>", value, "aHealthy");
            return (Criteria) this;
        }

        public Criteria andAHealthyGreaterThan(String value) {
            addCriterion("a_healthy >", value, "aHealthy");
            return (Criteria) this;
        }

        public Criteria andAHealthyGreaterThanOrEqualTo(String value) {
            addCriterion("a_healthy >=", value, "aHealthy");
            return (Criteria) this;
        }

        public Criteria andAHealthyLessThan(String value) {
            addCriterion("a_healthy <", value, "aHealthy");
            return (Criteria) this;
        }

        public Criteria andAHealthyLessThanOrEqualTo(String value) {
            addCriterion("a_healthy <=", value, "aHealthy");
            return (Criteria) this;
        }

        public Criteria andAHealthyLike(String value) {
            addCriterion("a_healthy like", value, "aHealthy");
            return (Criteria) this;
        }

        public Criteria andAHealthyNotLike(String value) {
            addCriterion("a_healthy not like", value, "aHealthy");
            return (Criteria) this;
        }

        public Criteria andAHealthyIn(List<String> values) {
            addCriterion("a_healthy in", values, "aHealthy");
            return (Criteria) this;
        }

        public Criteria andAHealthyNotIn(List<String> values) {
            addCriterion("a_healthy not in", values, "aHealthy");
            return (Criteria) this;
        }

        public Criteria andAHealthyBetween(String value1, String value2) {
            addCriterion("a_healthy between", value1, value2, "aHealthy");
            return (Criteria) this;
        }

        public Criteria andAHealthyNotBetween(String value1, String value2) {
            addCriterion("a_healthy not between", value1, value2, "aHealthy");
            return (Criteria) this;
        }

        public Criteria andAStatusIsNull() {
            addCriterion("a_status is null");
            return (Criteria) this;
        }

        public Criteria andAStatusIsNotNull() {
            addCriterion("a_status is not null");
            return (Criteria) this;
        }

        public Criteria andAStatusEqualTo(String value) {
            addCriterion("a_status =", value, "aStatus");
            return (Criteria) this;
        }

        public Criteria andAStatusNotEqualTo(String value) {
            addCriterion("a_status <>", value, "aStatus");
            return (Criteria) this;
        }

        public Criteria andAStatusGreaterThan(String value) {
            addCriterion("a_status >", value, "aStatus");
            return (Criteria) this;
        }

        public Criteria andAStatusGreaterThanOrEqualTo(String value) {
            addCriterion("a_status >=", value, "aStatus");
            return (Criteria) this;
        }

        public Criteria andAStatusLessThan(String value) {
            addCriterion("a_status <", value, "aStatus");
            return (Criteria) this;
        }

        public Criteria andAStatusLessThanOrEqualTo(String value) {
            addCriterion("a_status <=", value, "aStatus");
            return (Criteria) this;
        }

        public Criteria andAStatusLike(String value) {
            addCriterion("a_status like", value, "aStatus");
            return (Criteria) this;
        }

        public Criteria andAStatusNotLike(String value) {
            addCriterion("a_status not like", value, "aStatus");
            return (Criteria) this;
        }

        public Criteria andAStatusIn(List<String> values) {
            addCriterion("a_status in", values, "aStatus");
            return (Criteria) this;
        }

        public Criteria andAStatusNotIn(List<String> values) {
            addCriterion("a_status not in", values, "aStatus");
            return (Criteria) this;
        }

        public Criteria andAStatusBetween(String value1, String value2) {
            addCriterion("a_status between", value1, value2, "aStatus");
            return (Criteria) this;
        }

        public Criteria andAStatusNotBetween(String value1, String value2) {
            addCriterion("a_status not between", value1, value2, "aStatus");
            return (Criteria) this;
        }

        public Criteria andAInoculateIsNull() {
            addCriterion("a_inoculate is null");
            return (Criteria) this;
        }

        public Criteria andAInoculateIsNotNull() {
            addCriterion("a_inoculate is not null");
            return (Criteria) this;
        }

        public Criteria andAInoculateEqualTo(String value) {
            addCriterion("a_inoculate =", value, "aInoculate");
            return (Criteria) this;
        }

        public Criteria andAInoculateNotEqualTo(String value) {
            addCriterion("a_inoculate <>", value, "aInoculate");
            return (Criteria) this;
        }

        public Criteria andAInoculateGreaterThan(String value) {
            addCriterion("a_inoculate >", value, "aInoculate");
            return (Criteria) this;
        }

        public Criteria andAInoculateGreaterThanOrEqualTo(String value) {
            addCriterion("a_inoculate >=", value, "aInoculate");
            return (Criteria) this;
        }

        public Criteria andAInoculateLessThan(String value) {
            addCriterion("a_inoculate <", value, "aInoculate");
            return (Criteria) this;
        }

        public Criteria andAInoculateLessThanOrEqualTo(String value) {
            addCriterion("a_inoculate <=", value, "aInoculate");
            return (Criteria) this;
        }

        public Criteria andAInoculateLike(String value) {
            addCriterion("a_inoculate like", value, "aInoculate");
            return (Criteria) this;
        }

        public Criteria andAInoculateNotLike(String value) {
            addCriterion("a_inoculate not like", value, "aInoculate");
            return (Criteria) this;
        }

        public Criteria andAInoculateIn(List<String> values) {
            addCriterion("a_inoculate in", values, "aInoculate");
            return (Criteria) this;
        }

        public Criteria andAInoculateNotIn(List<String> values) {
            addCriterion("a_inoculate not in", values, "aInoculate");
            return (Criteria) this;
        }

        public Criteria andAInoculateBetween(String value1, String value2) {
            addCriterion("a_inoculate between", value1, value2, "aInoculate");
            return (Criteria) this;
        }

        public Criteria andAInoculateNotBetween(String value1, String value2) {
            addCriterion("a_inoculate not between", value1, value2, "aInoculate");
            return (Criteria) this;
        }

        public Criteria andATimeIsNull() {
            addCriterion("a_time is null");
            return (Criteria) this;
        }

        public Criteria andATimeIsNotNull() {
            addCriterion("a_time is not null");
            return (Criteria) this;
        }

        public Criteria andATimeEqualTo(Date value) {
            addCriterion("a_time =", value, "aTime");
            return (Criteria) this;
        }

        public Criteria andATimeNotEqualTo(Date value) {
            addCriterion("a_time <>", value, "aTime");
            return (Criteria) this;
        }

        public Criteria andATimeGreaterThan(Date value) {
            addCriterion("a_time >", value, "aTime");
            return (Criteria) this;
        }

        public Criteria andATimeGreaterThanOrEqualTo(Date value) {
            addCriterion("a_time >=", value, "aTime");
            return (Criteria) this;
        }

        public Criteria andATimeLessThan(Date value) {
            addCriterion("a_time <", value, "aTime");
            return (Criteria) this;
        }

        public Criteria andATimeLessThanOrEqualTo(Date value) {
            addCriterion("a_time <=", value, "aTime");
            return (Criteria) this;
        }

        public Criteria andATimeIn(List<Date> values) {
            addCriterion("a_time in", values, "aTime");
            return (Criteria) this;
        }

        public Criteria andATimeNotIn(List<Date> values) {
            addCriterion("a_time not in", values, "aTime");
            return (Criteria) this;
        }

        public Criteria andATimeBetween(Date value1, Date value2) {
            addCriterion("a_time between", value1, value2, "aTime");
            return (Criteria) this;
        }

        public Criteria andATimeNotBetween(Date value1, Date value2) {
            addCriterion("a_time not between", value1, value2, "aTime");
            return (Criteria) this;
        }

        public Criteria andABatchIdIsNull() {
            addCriterion("a_batch_id is null");
            return (Criteria) this;
        }

        public Criteria andABatchIdIsNotNull() {
            addCriterion("a_batch_id is not null");
            return (Criteria) this;
        }

        public Criteria andABatchIdEqualTo(String value) {
            addCriterion("a_batch_id =", value, "aBatchId");
            return (Criteria) this;
        }

        public Criteria andABatchIdNotEqualTo(String value) {
            addCriterion("a_batch_id <>", value, "aBatchId");
            return (Criteria) this;
        }

        public Criteria andABatchIdGreaterThan(String value) {
            addCriterion("a_batch_id >", value, "aBatchId");
            return (Criteria) this;
        }

        public Criteria andABatchIdGreaterThanOrEqualTo(String value) {
            addCriterion("a_batch_id >=", value, "aBatchId");
            return (Criteria) this;
        }

        public Criteria andABatchIdLessThan(String value) {
            addCriterion("a_batch_id <", value, "aBatchId");
            return (Criteria) this;
        }

        public Criteria andABatchIdLessThanOrEqualTo(String value) {
            addCriterion("a_batch_id <=", value, "aBatchId");
            return (Criteria) this;
        }

        public Criteria andABatchIdLike(String value) {
            addCriterion("a_batch_id like", value, "aBatchId");
            return (Criteria) this;
        }

        public Criteria andABatchIdNotLike(String value) {
            addCriterion("a_batch_id not like", value, "aBatchId");
            return (Criteria) this;
        }

        public Criteria andABatchIdIn(List<String> values) {
            addCriterion("a_batch_id in", values, "aBatchId");
            return (Criteria) this;
        }

        public Criteria andABatchIdNotIn(List<String> values) {
            addCriterion("a_batch_id not in", values, "aBatchId");
            return (Criteria) this;
        }

        public Criteria andABatchIdBetween(String value1, String value2) {
            addCriterion("a_batch_id between", value1, value2, "aBatchId");
            return (Criteria) this;
        }

        public Criteria andABatchIdNotBetween(String value1, String value2) {
            addCriterion("a_batch_id not between", value1, value2, "aBatchId");
            return (Criteria) this;
        }

        public Criteria andAHurdlesIdIsNull() {
            addCriterion("a_hurdles_id is null");
            return (Criteria) this;
        }

        public Criteria andAHurdlesIdIsNotNull() {
            addCriterion("a_hurdles_id is not null");
            return (Criteria) this;
        }

        public Criteria andAHurdlesIdEqualTo(String value) {
            addCriterion("a_hurdles_id =", value, "aHurdlesId");
            return (Criteria) this;
        }

        public Criteria andAHurdlesIdNotEqualTo(String value) {
            addCriterion("a_hurdles_id <>", value, "aHurdlesId");
            return (Criteria) this;
        }

        public Criteria andAHurdlesIdGreaterThan(String value) {
            addCriterion("a_hurdles_id >", value, "aHurdlesId");
            return (Criteria) this;
        }

        public Criteria andAHurdlesIdGreaterThanOrEqualTo(String value) {
            addCriterion("a_hurdles_id >=", value, "aHurdlesId");
            return (Criteria) this;
        }

        public Criteria andAHurdlesIdLessThan(String value) {
            addCriterion("a_hurdles_id <", value, "aHurdlesId");
            return (Criteria) this;
        }

        public Criteria andAHurdlesIdLessThanOrEqualTo(String value) {
            addCriterion("a_hurdles_id <=", value, "aHurdlesId");
            return (Criteria) this;
        }

        public Criteria andAHurdlesIdLike(String value) {
            addCriterion("a_hurdles_id like", value, "aHurdlesId");
            return (Criteria) this;
        }

        public Criteria andAHurdlesIdNotLike(String value) {
            addCriterion("a_hurdles_id not like", value, "aHurdlesId");
            return (Criteria) this;
        }

        public Criteria andAHurdlesIdIn(List<String> values) {
            addCriterion("a_hurdles_id in", values, "aHurdlesId");
            return (Criteria) this;
        }

        public Criteria andAHurdlesIdNotIn(List<String> values) {
            addCriterion("a_hurdles_id not in", values, "aHurdlesId");
            return (Criteria) this;
        }

        public Criteria andAHurdlesIdBetween(String value1, String value2) {
            addCriterion("a_hurdles_id between", value1, value2, "aHurdlesId");
            return (Criteria) this;
        }

        public Criteria andAHurdlesIdNotBetween(String value1, String value2) {
            addCriterion("a_hurdles_id not between", value1, value2, "aHurdlesId");
            return (Criteria) this;
        }
    }

    /**
     */
    public static class Criteria extends GeneratedCriteria {
        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}